Molecular diffusivity
PALEOaqchem.MolecularDiffusion.create_solute_diffusivity_func — Functioncreate_solute_diffusivity_func(species_or_constant::AbstractString) -> f_diffcoeffMolecular diffusivity for species_or_constant in water
Based on data compiled by (Boudreau, 1997) Ch. 4
If species_or_constant is a species name, returns a function f_diffcoeff, which calculates:
f_diffcoeff(TdegK, Pbar, S) -> Dmol (cm^2/s)If species_or_constant can be parsed into a Float64, returns a function which provides this constant value (units cm^2/s).
The effect of pressure and salinity is approximated by assuming viscosity (calculated by MolecularDiffusion.sw_dynamic_viscosity) is the primary consideration, (Boudreau, 1997) eqn. 4.107 and Table 4.10.
Example
To test from the Julia REPL:
julia> PALEOaqchem.MolecularDiffusion.create_solute_diffusivity_func("O2")(273.15+25, 1.0, 35)
2.211824368650775e-5PALEOaqchem.MolecularDiffusion.sw_dynamic_viscosity — Functionsw_dynamic_viscosity(TdegC, Pbar, S) -> muSeawater dynamic viscosity ((Boudreau, 1997) p94) 'claimed to accurate to within 7% over T (0 - 30C), P (1 - 1000 bar), S (0 36)'
Returns mu (10^-2 g/cm/s) (centipoise)
Arguments:
T: deg C (0 - 30C) temperatureP: bar (1 1000) pressureS: salinity (0 - 36)
See check values for salinity effect Table 4.10 p.125
PALEOaqchem.MolecularDiffusion.ReactionAqMolecularDiffusivity — TypeReactionAqMolecularDiffusivityCalculate molecular diffusivity (cm^s s-1) from :diffusivity_speciesname attributes of aqueous solution concentration Variables
A Variable <species>_moldiff is created for each <species>_conc Variable with non-empty :diffusivity_speciesname attribute.
:diffusivity_speciesname may either be a known species (in which case it is looked up in create_solute_diffusivity_func), or a constant value in cm^2 s-1 supplied as a String.